Skip to content

docs(security): document primary-surface-first extraction ordering#433

Merged
VascoSch92 merged 4 commits into
OpenHands:mainfrom
Fieldnote-Echo:docs/per-field-extraction-cap
May 22, 2026
Merged

docs(security): document primary-surface-first extraction ordering#433
VascoSch92 merged 4 commits into
OpenHands:mainfrom
Fieldnote-Echo:docs/per-field-extraction-cap

Conversation

@Fieldnote-Echo
Copy link
Copy Markdown
Contributor

@Fieldnote-Echo Fieldnote-Echo commented Apr 4, 2026

Documents the extraction-budget behavior shipped in OpenHands/software-agent-sdk#2709.

Adds a subsection under the existing "Known limitations" explaining that the 30k scanning budget is shared per corpus and consumed in priority order: the primary attack surface is extracted first (tool_call.arguments for executable fields, summary for reasoning fields), so it always receives budget even when a later field is adversarially large. This is ordering, not a per-field cap.

The one real residual (a strict xfail): a payload past 30k within a single field stays invisible, the deliberate ReDoS trade-off already noted in the limitations table.

Companion to OpenHands/software-agent-sdk#2709.

Document the per-field extraction cap introduced in
OpenHands/software-agent-sdk#2709. Explains the starvation
vector, the fix, and the remaining boundaries.

Coding-Agent: claude-code
Model: claude-opus-4-6
Copy link
Copy Markdown
Contributor

@all-hands-bot all-hands-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Taste Rating: 🟢 Good taste

Clean technical documentation that accurately describes the implementation in SDK PR #2709. All claims verified against source code:

_FIELD_CAP = _EXTRACT_HARD_CAP // 2 implementation
✅ Starvation vector accurately described
✅ Remaining boundaries match xfail tests
tool_name has no length validation (verified in ActionEvent)

Worth merging.

@enyst enyst removed their request for review May 11, 2026 18:54
The "extraction budget and per-field cap" section described a proposed
`_FIELD_CAP` design that never shipped. Rewrite it to match the merged
mechanism (#2709): one shared 30k budget per corpus consumed in priority
order (arguments first for exec, summary first for reasoning), with no
per-field cap. Both previously listed "remaining boundaries" are closed by
the ordering; the only real residual is a single-field payload past 30k,
already covered in the limitations table.
@Fieldnote-Echo Fieldnote-Echo changed the title docs(security): extraction budget and per-field cap docs(security): document primary-surface-first extraction ordering May 22, 2026
@Fieldnote-Echo
Copy link
Copy Markdown
Contributor Author

@VascoSch92 gentle nudge -- this one was outdated, I updated the docs to match the deployed code.

Copy link
Copy Markdown
Member

@VascoSch92 VascoSch92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Thanks

@VascoSch92 VascoSch92 merged commit 0bcbeb6 into OpenHands:main May 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants